/**
 * @project lauwsys
 */
package com.chimoz.lauwsys.domain;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * @author Christian Teguh
 * @created 27 Sep 2011 22.29.56
 */
public class Agent implements Serializable, Person {
	
	private static final long serialVersionUID = 1L;
	private String name;
	
	private Long id;
	private String code;
	private String desc;
	private Integer ctime;
	private Integer mtime;
	
	private Integer poLimitBtr;
	private Integer poLimitSwt;
	
	private LContainer lContainer;
	private List<AgentCredit> totalCredit = new ArrayList<AgentCredit>();
	private List<AgentDebt> totalDebt = new ArrayList<AgentDebt>();
	
	public Agent() {}
	
	public Agent(Long id) {
		this.id = id;
	}

	public Agent(String name, Long id, String code, String desc, Integer ctime,
			Integer mtime, Integer poLimitBtr, Integer poLimitSwt,
			LContainer lContainer) {
		this.name = name;
		this.id = id;
		this.code = code;
		this.desc = desc;
		this.ctime = ctime;
		this.mtime = mtime;
		this.poLimitBtr = poLimitBtr;
		this.poLimitSwt = poLimitSwt;
		this.lContainer = lContainer;
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}

	public String getDesc() {
		return desc;
	}

	public void setDesc(String desc) {
		this.desc = desc;
	}

	public Integer getCtime() {
		return ctime;
	}

	public void setCtime(Integer ctime) {
		this.ctime = ctime;
	}

	public Integer getMtime() {
		return mtime;
	}

	public void setMtime(Integer mtime) {
		this.mtime = mtime;
	}

	public Integer getPoLimitBtr() {
		return poLimitBtr;
	}

	public void setPoLimitBtr(Integer poLimitBtr) {
		this.poLimitBtr = poLimitBtr;
	}

	public Integer getPoLimitSwt() {
		return poLimitSwt;
	}

	public void setPoLimitSwt(Integer poLimitSwt) {
		this.poLimitSwt = poLimitSwt;
	}

	public LContainer getLContainer() {
		return lContainer;
	}

	public void setLContainer(LContainer lContainer) {
		this.lContainer = lContainer;
	}

	public List<AgentCredit> getTotalCredit() {
		return totalCredit;
	}

	public void setTotalCredit(List<AgentCredit> totalCredit) {
		this.totalCredit = totalCredit;
	}

	public List<AgentDebt> getTotalDebt() {
		return totalDebt;
	}

	public void setTotalDebt(List<AgentDebt> totalDebt) {
		this.totalDebt = totalDebt;
	}

	public String getName() {
		return this.name;
	}
	
	public void setName(String name) {
		this.name = name;
	}

	
	@Override
	public String toString() {
		return "Agent [code=" + getCode() + ", name=" + getName() + "]";
	}

	
	

	
}
